The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Different types of databases can organize data differently. For example, one database may store its data in a single file. Another database may be a file server that stores millions of files that drastically vary in size. Another database may use a schema to determine how to save data in a space efficient way. Another database may store its data as a string. Others may vary with respect to maximum table size or minimum latency time. Each database may have advantages that a particular user may find useful for particular problem.
Some users try to anticipate the features that will be most important to them for a given solution, and select a familiar database that they think will best satisfy their problem. However, as a user's system grows, the user may switch to a different database and/or use more than one type of database. To use the features of a different, second database a user may first need to learn the details and complexities of using the second database, and copy data from the first database to the second. However, copying data between databases is time consuming and prone to error. For example, a one database may store each value in the database as a text string in a single file, which is fundamentally different than another database that stores data in a plurality of files and formats based on a proprietary schema and syntax. Accordingly, to copy data stored from one database to another, a user may be required to develop complex proprietary software.
After transferring data to a new database, a user may need to a different set of commands to interface with the new database. For example, if a user copies data from a Structured Query Language (“SQL”) database to a non-SQL-based database, then then the user may need to learn a completely new set of commands to interface with the new database. Even among databases that are SQL-based databases, schemas and SQL syntax can be different. Furthermore, the result returned by the second database may be in a different format.